package com.ruoyi.project.system.domain;

import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 进件记录对象 sys_query
 */
@Accessors(chain = true)
@Data
public class SysQuery extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @Excel(name = "进件id")
    private Long id;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long userId;

    @Excel(name = "产品编号")
    private Integer productId;


    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 身份证
     */
    @Excel(name = "身份证")
    private String cardNo;

    /**
     * 电话
     */
    @Excel(name = "电话")
    private String mobile;

    /**
     * 更多关键字
     */
    @Excel(name = "更多关键字")
    private String moreKeyword;

    /**
     * 查询结果
     */
    @Excel(name = "查询结果")
    private String queryInfo;

    /**
     * 用户设备编码
     */
    @Excel(name = "用户设备编码")
    private String sign;

    /**
     * 状态（0正常；1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常；1停用")
    private String status;

    /**
     * 删除标志（0代表存在；2代表删除）
     */
    private String delFlag;

    public SysQuery() {
    }

    public SysQuery(Long id) {
        this.id = id;
    }

    public SysQuery(Long id, String queryInfo) {
        this.id = id;
        this.queryInfo = queryInfo;
    }

    public SysQuery(Long id, String mobile, boolean is) {
        this.id = id;
        this.mobile = mobile;
    }

    public SysQuery(Long id, String moreKeyword, String queryInfo) {
        this.id = id;
        this.moreKeyword = moreKeyword;
        this.queryInfo = queryInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("name", getName())
                .append("cardNo", getCardNo())
                .append("mobile", getMobile())
                .append("moreKeyword", getMoreKeyword())
                .append("productId", getProductId())
                .append("queryInfo", getQueryInfo())
                .append("sign", getSign())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
